using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Collections;
using IBatisNet.DataMapper;
using TumbaloSoft.Helpers.QueryObjects;
using TumbaloSoft.Models;

namespace TumbaloSoft.Helpers
{
    public class HelperContratoMantenimiento
    {
        public static int insert(TumbaloSoft.Models.ContratoMantenimiento contrato)
        {
            Mapper.Instance().Insert("ContratoMantenimientoInsert", contrato);
            return 0;
        }
        public static void update(TumbaloSoft.Models.ContratoMantenimiento contrato)
        {
            Mapper.Instance().Update("ContratoMantenimientoUpdate", contrato);
        }

        //Eliminacion Logica
        public static void delete(TumbaloSoft.Models.ContratoMantenimiento contrato)
        {
            Mapper.Instance().Update("ContratoMantenimientoDelete", contrato);
        }
        public static ContratoMantenimiento selectById(int id)
        {
            IList contratos = Mapper.Instance().QueryForList("ContratoMantenimientoSelectById", id);
            if (contratos.Count == 0) return null;
            ContratoMantenimiento contrato = (ContratoMantenimiento)(contratos[0]);
            return contrato;
        }
        public static IList selectAll()
        {
            return Mapper.Instance().QueryForList("ContratoMantenimientoSelectAll", null);       
        }

        //ContratoMantenimientoSelectAllActivo

        public static IList selectAllActivo()
        {
            return Mapper.Instance().QueryForList("ContratoMantenimientoSelectAllActivo", null);
        }

        public static List<ContratoMantenimiento> selectAllActuales(Edificio edificio)
        {
            return new List<ContratoMantenimiento>(Mapper.Instance().QueryForList<ContratoMantenimiento>("ContratoMantenimientoSelectActuales", edificio));
        }
        

        public static int selectMaxCodigo()
        {
            return (int)Mapper.Instance().QueryForObject("ContratoMantenimientoSelectMaxCodigo", null);
        }
        public static IList buscar(BusquedaContratoMantenimiento ContratoMantenimientoBuscar)
        {
            return Mapper.Instance().QueryForList("ContratoMantenimientoBuscar", ContratoMantenimientoBuscar);
        }

        public static int selectCountActivos()
        {
            return (int)Mapper.Instance().QueryForObject("ContratoMantenimientoSelectCountActivos", null);
        }

    }
}